草庐IT

php - symfony 验证另一个字段是否为特定值

全部标签

ruby - 如何检测目录是否可写在 Ruby 中

我正在使用Ruby,需要在尝试创建新文件之前检测目录是否可写。我已经尝试了下面的代码,它根据@path是否是一个目录正确地返回true/false。但是,当没有对@path文件夹的写权限时,它仍然返回true。ifFile.directory?(@path)&&File.writable?(@path)#isawriteabledirectorytrueelse#isnotawriteabledirectoryfalseend我查看了File和Dir类的帮助,但看不到任何允许我检查目录写入权限的方法。有办法吗?我只需要它在Windows上运行,使用Ruby1.9.3。

ruby - Rails 4 引擎是否自动加载引擎的 i18n 语言环境文件?

我有一个关于Rails引擎的问题,在关于Rails引擎的Rails指南中没有提到。我希望在这里得到它。例如,我有一个名为my_engine的引擎和一个名为my_app的应用。出于开发目的,在my_app的Gemfile中,我使用:file键简单地将my_engine包含在以下行中。#my_app/Gemfile...gem"my_engine",:path=>"./../my_engine"...my_engine结构是这样的:.├──Gemfile├──Gemfile.lock├──app│  ├──...||...|├──config│  ├──locales│  │  └──mo

ruby-on-rails - 使用 API 获取数据时,最好将该数据存储在另一个数据库中,还是最好在需要时继续获取该数据?

这个问题在这里已经有了答案:CachingcallstoanexternalAPIinarailsapp(1个回答)关闭6年前。我正在使用TMDBapi来获取电影标题和发行年份等信息,但我想知道我是否需要创建一个额外的数据库来在本地存储所有这些信息,而不是继续使用api获取信息?例如,我是否应该创建一个电影模型并调用:film.title并通过这样做访问存储有标题的本地数据库,或者我调用:Tmdb::Movie.detail(550).title然后再调用一次api?

ruby - 我怎么知道 BigDecimal 是否解析失败?

我正在从csv导入数据,我需要将一些值转换为BigDecimal,如果无法解析则引发错误。根据测试,BigDecimal("invalidnumber")返回0的BigDecimal。这没问题,但有点乱,除了有效值为0...Float("invalidnumber")的行为不同并抛出异常...我目前的解决方案是:classStringdefto_bdbeginFloat(self)rescueraise"Unabletoparse:#{self}"endBigDecimal(self)endend我是否完全遗漏了什么? 最佳答案 在

ruby - 一个网络服务器上有多个 Ruby 版本?

理想使用rvm,如果能够在一个网络服务器上拥有多个Rubies,并且通过某种服务器配置,能够在每个项目的基础上将Ruby版本分配给不同的Rails/Sinatra/等应用程序,那将是非常棒的。我从rvm的文档中了解到,Passenger一次只能使用一个Ruby。:(妥协否则,至少能够想出一种方法将项目分配给Ruby1.8或Ruby1.9解释器会很好。我读过使用Nginx作为反向代理允许在同一个盒子上运行Apache和Nginx。那么是否有可能让Apache+Passenger使用一个Ruby,而Nginx+Passenger使用另一个?也许在Nginx中使用Passenger以外的东西

ruby - Resque:每个队列一个 worker

我目前有一个Rails3.0项目,使用Ruby1.9.2和Resque。我的应用程序有多个工作类和多个队列,它们是动态创建的(在运行时)。此外,有多个worker已启动,可以自由地在任何队列上工作,因为在启动时没有任何现有队列,并且无法预测它们:$COUNT=3QUEUE=*rakeresque:workers根据project的id创建队列:@queue="project_#{project.id}".to_sym对于给定的队列,他们的作业必须按顺序处理,一次处理一个。我的问题是,通过拥有多个工作人员,可以并行处理多个作业。有没有办法设置每个队列的最大worker数(为1)?有没有办

ruby-on-rails - 遵循 DCI 设计时在哪里进行验证?

我正在按照DCI构建新Rails应用程序的行为,但我对将验证放在哪里有一些疑问。传统上,如果您要使用ActiveRecord模型管理您的数据,验证是在继承自AR的特定类中定义的,并且它们似乎适合作为数据层的一部分。然而,在我看来,只在特定角色下进行某些验证是有意义的,并且只有当对象在该上下文中时才应检查它们,在所有其他情况下都将被忽略。这基本上意味着这些验证应该在特定角色上定义,并且当对象在有意义的上下文中使用时,应该使用这些角色模块扩展对象。您认为将这些验证保留在角色上是个好主意吗?如果是这样,您如何声明它们而不污染与对象相同的类的其他实例?如果我想使用ActiveRecord验证,

ruby-on-rails - 当加载根命名空间中的另一个同名类时,Rails 类加载会跳过命名空间类

我有两个命名空间,每个都有自己的Controller和演示器类:成员::DocumentsController成员::DocumentPresenterguest::DocumentsControllerGuest::DocumentPresenter两个演示者都继承自::DocumentPresenter。Controller在没有指定命名空间的情况下访问各自的演示者,例如:classGuest::DocumentsController这通常会在同一个命名空间中调用演示者。但是有时在开发环境中我看到正在使用base::DocumentPresenter。我怀疑原因是base::Doc

Ruby JSON.parse 返回一个数组

我正在尝试通过RESTfulAPI解析从Twitter收到的JSON字符串作为响应。我想使用JSONgem,但遇到了问题。根据文档,JSON解析器似乎返回了一个Hash,这正是我想要的。然而,当我实际执行JSON.parse(twitter_result.body)时,它返回一个数组。如何让JSON解析器返回哈希?这是我正在使用的解析器:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/json/rdoc/JSON.html#method-i-parse“漂亮”的JSON输出示例:[{"created_at":"SunDec0813:00:52+0

ruby-on-rails - 我如何解析一个 Excel 文件,它会给我提供与视觉上完全一样的数据?

我正在使用Rails5(Ruby2.4)。我想阅读.xls文档,我想将数据转换为CSV格式,就像它出现在Excel文件中一样。有人推荐我使用Roo,所以我有book=Roo::Spreadsheet.open(file_location)sheet=book.sheet(0)text=sheet.to_csvarr_of_arrs=CSV.parse(text)但是,返回的内容与我在电子表格中看到的内容不同。例如,电子表格中的一个单元格有16:45.81当我从上面获取CSV数据时,返回的是"0.011641319444444444"如何解析Excel文档并准确获取我所看到的内容?我不在